package com.qtenv.datasync.service.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.qtenv.datasync.service.model.ZoneDataModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

/**
 * <p>
    * 层级表
    * </p>
 *
 * @author CBL
 * @since 2022-08-02
 */
@Data
@TableName("dw_zone")
@ApiModel(value = "Zone对象", description = "层级表")
public class Zone implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("平台表单自增主键")
    @TableId("ID")
    private Integer id;

    @ApiModelProperty("租户ID")
    @TableField("tenant_id")
    private String tenantId;

    @ApiModelProperty("层级ID（系统自动生成，勿填）")
    @TableField("AreaID")
    private String areaID;

    @ApiModelProperty("层级名称")
    @TableField("AreaName")
    private String areaName;

    @ApiModelProperty("父级ID")
    @TableField("PID")
    private String pid;

    @ApiModelProperty("区域描述")
    @TableField("Details")
    private String details;

    @ApiModelProperty("备注")
    @TableField("Remark")
    private String remark;

    @ApiModelProperty("序号")
    @TableField("rank")
    private String rank;

    @ApiModelProperty("层级类型1:大分区、2：DMA、3：大用户、4：楼栋、5虚拟分区")
    @TableField("LevelType")
    private String levelType;

    @TableField("Type")
    private String type;

    @ApiModelProperty("分区点集合")
    @TableField("AreaPoint")
    private String areaPoint;

    @ApiModelProperty("缩放层级")
    @TableField("zoom")
    private Integer zoom;

    @TableField(exist = false)
    private ZoneDataModel zbx;
}